// Copyright 2016 The Fuchsia Authors
//
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT

#include <lib/crypto/global_prng.h>
#include <lib/unittest/unittest.h>
#include <stdint.h>

namespace crypto {

namespace {
bool identical() {
  BEGIN_TEST;

  PRNG* prng1 = GlobalPRNG::GetInstance();
  PRNG* prng2 = GlobalPRNG::GetInstance();

  EXPECT_NE(prng1, nullptr);
  EXPECT_EQ(prng1, prng2);

  END_TEST;
}

}  // namespace

UNITTEST_START_TESTCASE(global_prng_tests)
UNITTEST("Identical", identical)
UNITTEST_END_TESTCASE(global_prng_tests, "global_prng", "Validate global PRNG singleton");

}  // namespace crypto
